{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "from KNN import lr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "lr1=lr.LinearRegression1()\n",
    "lr2=lr.LinearRegression2()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "m=20\n",
    "big_x=np.array([i for i in range(m)])\n",
    "big_y=big_x * 3 + 0.2 + np.random.normal(size=m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 228 µs, sys: 11 µs, total: 239 µs\n",
      "Wall time: 244 µs\n",
      "CPU times: user 62.1 ms, sys: 4.61 ms, total: 66.7 ms\n",
      "Wall time: 64.6 ms\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "LinearRegression2"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%time lr1.fit(big_x,big_y)\n",
    "%time lr2.fit(big_x,big_y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x108908cf8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1087291d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(big_x,lr1.predict(big_x),color='r')\n",
    "plt.scatter(big_x,big_y)\n",
    "plt.title(\"lr1\")\n",
    "plt.show()\n",
    "plt.plot(big_x,lr2.predict(big_x),color='r')\n",
    "plt.scatter(big_x,big_y)\n",
    "plt.title(\"lr2\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
